package com.xiaoxx.rabbitmq.broker;


import com.xiaoxx.rabbitmq.bean.MyMessage;

/**
 * $RabbitBroker 具体发送不同种类型消息的接口
 * @author quhiu
 */
public interface RabbitBroker {

    /**
     *  迅速消息：会做confirm确认 不做消息路由失败回退
     * @param myMessage 消息
     */
    void rapidSend(MyMessage myMessage);

    /**
     *  确认消息：会做confirm确认 会做消息路由失败回退 (发往延时队列(delay.开头的队列)的消息无法做confirm确认)
     * @param myMessage 消息
     */
    void confirmSend(MyMessage myMessage);

    /**
     *  可靠性消息： 会做confirm确认 会做消息路由失败回退 会做消息入库跟踪
     * @param myMessage 消息
     */
    void reliantSend(MyMessage myMessage);

}
